

// login module
import { makeAutoObservable } from 'mobx'
import { http,setToken,getToken, removeToken } from '../utils'
import { Avatar } from 'antd';

class LoginStore {
  token = getToken() || ''; // 初始化 token，如果本地存储中存在 token，则使用它；否则使用空字符串
  usersname = ''; // 初始化用户名为空字符串

  constructor() {
    // 使类的属性变为响应式
    makeAutoObservable(this);
  }

  getToken = async ({ mobile, code, remember }) => {
    // 调用登录接口
    const res = await http.post('http://localhost:8000/1', { mobile, code, remember });

    // 存入 token 和用户名
    this.token = res.token;
    this.usersname = res.usersname;
    this.avatar = res.avatar;

    // 将 token 存入本地存储
    setToken(this.token);
    localStorage.setItem('usersname', this.usersname);
    localStorage.setItem('avatar', this.avatar);
  }

  loginOut = () => {
    // 退出登录，清空 token 和从本地存储中移除 token
    localStorage.clear();
  }
}


export default LoginStore